
package com.one.odf.model;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>Java class for unitActionType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="unitActionType"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="ExtendedAction" type="{}extendedActionType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element name="Competitor" type="{}competitorUnitActionType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element name="Officials" type="{}officialsType" minOccurs="0"/&gt;
 *         &lt;element name="ImageData" type="{}pictureType" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *       &lt;attribute name="Id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
 *       &lt;attribute name="PId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
 *       &lt;attribute name="Period" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
 *       &lt;attribute name="Order" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
 *       &lt;attribute name="Action" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="ActionAdd" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="ActionDesc" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Comment" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="When" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Result" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="ScoreH" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="ScoreA" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="LeadH" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="LeadA" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="SO_H" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="SO_A" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Rally" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Win" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Speed" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Loc" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="X" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Y" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Z" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="Line" type="{http://www.w3.org/2001/XMLSchema}string" default="" /&gt;
 *       &lt;attribute name="TimeStamp" type="{http://www.w3.org/2001/XMLSchema}dateTime" /&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "unitActionType", propOrder = {
    "extendedAction",
    "competitor",
    "officials",
    "imageData"
})
public class UnitActionType {

    @XmlElement(name = "ExtendedAction")
    protected List<ExtendedActionType> extendedAction;
    @XmlElement(name = "Competitor")
    protected List<CompetitorUnitActionType> competitor;
    @XmlElement(name = "Officials")
    protected OfficialsType officials;
    @XmlElement(name = "ImageData")
    protected PictureType imageData;
    @XmlAttribute(name = "Id", required = true)
    protected String id;
    @XmlAttribute(name = "PId")
    protected String pId;
    @XmlAttribute(name = "Period", required = true)
    protected String period;
    @XmlAttribute(name = "Order", required = true)
    protected int order;
    @XmlAttribute(name = "Action")
    protected String action;
    @XmlAttribute(name = "ActionAdd")
    protected String actionAdd;
    @XmlAttribute(name = "ActionDesc")
    protected String actionDesc;
    @XmlAttribute(name = "Comment")
    protected String comment;
    @XmlAttribute(name = "When")
    protected String when;
    @XmlAttribute(name = "Result")
    protected String result;
    @XmlAttribute(name = "ScoreH")
    protected String scoreH;
    @XmlAttribute(name = "ScoreA")
    protected String scoreA;
    @XmlAttribute(name = "LeadH")
    protected String leadH;
    @XmlAttribute(name = "LeadA")
    protected String leadA;
    @XmlAttribute(name = "SO_H")
    protected String soh;
    @XmlAttribute(name = "SO_A")
    protected String soa;
    @XmlAttribute(name = "Rally")
    protected String rally;
    @XmlAttribute(name = "Win")
    protected String win;
    @XmlAttribute(name = "Speed")
    protected String speed;
    @XmlAttribute(name = "Loc")
    protected String loc;
    @XmlAttribute(name = "X")
    protected String x;
    @XmlAttribute(name = "Y")
    protected String y;
    @XmlAttribute(name = "Z")
    protected String z;
    @XmlAttribute(name = "Line")
    protected String line;
    @XmlAttribute(name = "TimeStamp")
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar timeStamp;

    /**
     * Gets the value of the extendedAction property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the extendedAction property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getExtendedAction().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link ExtendedActionType }
     * 
     * 
     */
    public List<ExtendedActionType> getExtendedAction() {
        if (extendedAction == null) {
            extendedAction = new ArrayList<ExtendedActionType>();
        }
        return this.extendedAction;
    }

    /**
     * Gets the value of the competitor property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the competitor property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCompetitor().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link CompetitorUnitActionType }
     * 
     * 
     */
    public List<CompetitorUnitActionType> getCompetitor() {
        if (competitor == null) {
            competitor = new ArrayList<CompetitorUnitActionType>();
        }
        return this.competitor;
    }

    /**
     * Gets the value of the officials property.
     * 
     * @return
     *     possible object is
     *     {@link OfficialsType }
     *     
     */
    public OfficialsType getOfficials() {
        return officials;
    }

    /**
     * Sets the value of the officials property.
     * 
     * @param value
     *     allowed object is
     *     {@link OfficialsType }
     *     
     */
    public void setOfficials(OfficialsType value) {
        this.officials = value;
    }

    /**
     * Gets the value of the imageData property.
     * 
     * @return
     *     possible object is
     *     {@link PictureType }
     *     
     */
    public PictureType getImageData() {
        return imageData;
    }

    /**
     * Sets the value of the imageData property.
     * 
     * @param value
     *     allowed object is
     *     {@link PictureType }
     *     
     */
    public void setImageData(PictureType value) {
        this.imageData = value;
    }

    /**
     * Gets the value of the id property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getId() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setId(String value) {
        this.id = value;
    }

    /**
     * Gets the value of the pId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPId() {
        return pId;
    }

    /**
     * Sets the value of the pId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPId(String value) {
        this.pId = value;
    }

    /**
     * Gets the value of the period property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPeriod() {
        return period;
    }

    /**
     * Sets the value of the period property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPeriod(String value) {
        this.period = value;
    }

    /**
     * Gets the value of the order property.
     * 
     */
    public int getOrder() {
        return order;
    }

    /**
     * Sets the value of the order property.
     * 
     */
    public void setOrder(int value) {
        this.order = value;
    }

    /**
     * Gets the value of the action property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAction() {
        if (action == null) {
            return "";
        } else {
            return action;
        }
    }

    /**
     * Sets the value of the action property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAction(String value) {
        this.action = value;
    }

    /**
     * Gets the value of the actionAdd property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getActionAdd() {
        if (actionAdd == null) {
            return "";
        } else {
            return actionAdd;
        }
    }

    /**
     * Sets the value of the actionAdd property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setActionAdd(String value) {
        this.actionAdd = value;
    }

    /**
     * Gets the value of the actionDesc property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getActionDesc() {
        if (actionDesc == null) {
            return "";
        } else {
            return actionDesc;
        }
    }

    /**
     * Sets the value of the actionDesc property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setActionDesc(String value) {
        this.actionDesc = value;
    }

    /**
     * Gets the value of the comment property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getComment() {
        if (comment == null) {
            return "";
        } else {
            return comment;
        }
    }

    /**
     * Sets the value of the comment property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setComment(String value) {
        this.comment = value;
    }

    /**
     * Gets the value of the when property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWhen() {
        if (when == null) {
            return "";
        } else {
            return when;
        }
    }

    /**
     * Sets the value of the when property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWhen(String value) {
        this.when = value;
    }

    /**
     * Gets the value of the result property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getResult() {
        if (result == null) {
            return "";
        } else {
            return result;
        }
    }

    /**
     * Sets the value of the result property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setResult(String value) {
        this.result = value;
    }

    /**
     * Gets the value of the scoreH property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getScoreH() {
        if (scoreH == null) {
            return "";
        } else {
            return scoreH;
        }
    }

    /**
     * Sets the value of the scoreH property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setScoreH(String value) {
        this.scoreH = value;
    }

    /**
     * Gets the value of the scoreA property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getScoreA() {
        if (scoreA == null) {
            return "";
        } else {
            return scoreA;
        }
    }

    /**
     * Sets the value of the scoreA property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setScoreA(String value) {
        this.scoreA = value;
    }

    /**
     * Gets the value of the leadH property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadH() {
        if (leadH == null) {
            return "";
        } else {
            return leadH;
        }
    }

    /**
     * Sets the value of the leadH property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadH(String value) {
        this.leadH = value;
    }

    /**
     * Gets the value of the leadA property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadA() {
        if (leadA == null) {
            return "";
        } else {
            return leadA;
        }
    }

    /**
     * Sets the value of the leadA property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadA(String value) {
        this.leadA = value;
    }

    /**
     * Gets the value of the soh property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSOH() {
        if (soh == null) {
            return "";
        } else {
            return soh;
        }
    }

    /**
     * Sets the value of the soh property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSOH(String value) {
        this.soh = value;
    }

    /**
     * Gets the value of the soa property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSOA() {
        if (soa == null) {
            return "";
        } else {
            return soa;
        }
    }

    /**
     * Sets the value of the soa property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSOA(String value) {
        this.soa = value;
    }

    /**
     * Gets the value of the rally property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRally() {
        if (rally == null) {
            return "";
        } else {
            return rally;
        }
    }

    /**
     * Sets the value of the rally property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRally(String value) {
        this.rally = value;
    }

    /**
     * Gets the value of the win property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWin() {
        if (win == null) {
            return "";
        } else {
            return win;
        }
    }

    /**
     * Sets the value of the win property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWin(String value) {
        this.win = value;
    }

    /**
     * Gets the value of the speed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeed() {
        if (speed == null) {
            return "";
        } else {
            return speed;
        }
    }

    /**
     * Sets the value of the speed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeed(String value) {
        this.speed = value;
    }

    /**
     * Gets the value of the loc property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLoc() {
        if (loc == null) {
            return "";
        } else {
            return loc;
        }
    }

    /**
     * Sets the value of the loc property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLoc(String value) {
        this.loc = value;
    }

    /**
     * Gets the value of the x property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getX() {
        if (x == null) {
            return "";
        } else {
            return x;
        }
    }

    /**
     * Sets the value of the x property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setX(String value) {
        this.x = value;
    }

    /**
     * Gets the value of the y property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getY() {
        if (y == null) {
            return "";
        } else {
            return y;
        }
    }

    /**
     * Sets the value of the y property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setY(String value) {
        this.y = value;
    }

    /**
     * Gets the value of the z property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getZ() {
        if (z == null) {
            return "";
        } else {
            return z;
        }
    }

    /**
     * Sets the value of the z property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setZ(String value) {
        this.z = value;
    }

    /**
     * Gets the value of the line property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLine() {
        if (line == null) {
            return "";
        } else {
            return line;
        }
    }

    /**
     * Sets the value of the line property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLine(String value) {
        this.line = value;
    }

    /**
     * Gets the value of the timeStamp property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getTimeStamp() {
        return timeStamp;
    }

    /**
     * Sets the value of the timeStamp property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setTimeStamp(XMLGregorianCalendar value) {
        this.timeStamp = value;
    }

}
